package cn.flying.system.service.cm;


import cn.flying.base.common.vo.PageRequest;
import cn.flying.base.common.vo.PageResponse;
import cn.flying.system.common.vo.UserRelationInfoVo;
import cn.flying.system.domain.cm.CmUser;

/**
 * @description: 系统用户信息服务接口
 * @author: lvyong
 * @date: 2022年05月22日 17:34
 * @version: 1.0
 */
public interface CmUserService {

    /**
     * 查询用户列表-分页
     *
     * @param
     * @param pageRequest
     * @return
     */
    PageResponse<CmUser> getUserPageList(PageRequest<CmUser> pageRequest);

    /**
     * 根据主键ID查询用户信息
     *
     * @param id
     * @return
     */
    CmUser getUserById(Long id);

    /**
     * 根据userId称查询
     *
     * @param userId
     * @return
     */
    CmUser findUserByUserId(String userId);

    /**
     * 根据用户名称查询
     *
     * @param username
     * @return
     */
    CmUser findUserByUsername(String username);

    /**
     * 保存用户信息
     *
     * @param user
     */
    void insertUser(UserRelationInfoVo user);

    /**
     * 修改用户信息
     *
     * @param user
     */
    void updateUserById(UserRelationInfoVo user);

    /**
     * 删除用户
     *
     * @param user
     */
    void deleteUserById(CmUser user);

    /**
     * 根据userId删除用户
     *
     * @param userId
     */
    void deleteUserByUserId(String userId);

    /**
     * 修改最后登录时间
     *
     * @param username
     */
    void updateUserLoginTimeByUsername(String username);

//    /**
//     * 检查用户
//     * @param user
//     * @param request
//     * @throws Exception
//     */
//    void checkUser(CmUser user, HttpServletRequest request) throws Exception;


}
